var { ReturnModel } = require('../libs/resmodel');
var { authworkSave, authworkAudit, authworkList } = require('../services/authwork');

/**
* 立即认证
* @api {post} /authwork/auth 立即认证
* @apiDescription 立即认证
* @apiName auth
* @apiParam (参数) {String} pcode 认证用户code
* @apiParam (参数) {String} authtype 认证方式 如：社保、个税、薪资流水
* @apiParam (参数) {String} company_name 公司名称
* @apiParam (参数) {String} company_name_out 公司对外展示名称
* @apiParam (参数) {String} img 照片
* @apiParam (参数) {String} secret 是否屏蔽同事，1：屏蔽，0：不屏蔽
* @apiSampleRequest /authwork/auth
* @apiGroup authwork-工作认证
* @apiVersion 1.0.0
* @apiParamExample {json} Request-Example:
*     {
*       "pcode": "290464549598", // 认证用户code
*       "authtype": "薪资流水", // 认证方式
*       "company_name": "xx信息科技", //公司名称
*       "company_name_out": "xx科技", //公司对外展示名称
*       "img": "http://redspider.oss-cn-shenzhen.aliyuncs.com/redspider_v1.0/248161509426_test.jpg", //阿里云照片地址
*       "secret": 0 //是否屏蔽同事
*     }
* @apiSuccessExample {json} Success-Response:
*   HTTP/1.1 200 OK
*   {
*      "msg": "保存成功",
*      "code": 0
*   }
*/
async function auth(req, res) {
    let result = await authworkSave(req.body);
    res.json(new ReturnModel(result));
}
/**
* 获取工作认证列表
* @api {post} /authwork/list 获取工作认证列表
* @apiDescription 获取工作认证列表
* @apiName list
* @apiParam (参数) {String} ispass 按审批状态筛选，不传查所有（0：未通过， 1：通过 9：未审核）
* @apiParam (参数) {String} name 按名称筛选，不传查所有，同时根据company_name和company_name_out模糊查询
* @apiParam (参数) {Number} pagenum 查询第几页(默认第1页)
* @apiParam (参数) {Number} pagesize 每页显示条数(默认10条)
* @apiSampleRequest /authwork/list
* @apiGroup authwork-工作认证
* @apiVersion 1.0.0
* @apiParamExample {json} Request-Example:
*     {
*       "ispass": 0, 
*       "name": "科技",
*       "pagenum": 1,  // 查询第几页
*       "pagesize": 10,  // 每页显示条数 
*     }
* @apiSuccessExample {json} Success-Response:
*   HTTP/1.1 200 OK
*   {
*      "data": {
*           list:[{
*       "id": "12", // 记录id    
*       "pcode": "290464549598", // 认证用户code
*       "authtype": "薪资流水", // 认证方式
*       "nickname": "会飞的鱼", // 用户昵称
*       "name": "张三", // 用户姓名
*       "company_name": "xx信息科技", //公司名称
*       "company_name_out": "xx科技", //公司对外展示名称
*       "img": "http://redspider.oss-cn-shenzhen.aliyuncs.com/redspider_v1.0/248161509426_test.jpg", //正面照片
*       "secret": 0 //是否屏蔽同事
*       "ispass": 1, // 是否通过，0：未通过， 1：通过 9：未审核
*       "commit": "通过", // 审批意见
*       "createtime": "2022-04-02 15:23:22", // 申请时间
*       "updatetime": "2022-04-02 15:23:22", // 更新时间
*       "audittime": "2022-04-02 15:23:22", // 审批时间
*       }],
*        "total": 200,//总条数
*        "pagecount": 20,//总页数
*        }
*      "msg": "获取成功",
*      "code": 0
*   }
*/
async function list(req, res) {
    let result = await authworkList(req.body);
    res.json(new ReturnModel(result));
}

/**
* 处理申请
* @api {post} /authwork/audit 处理申请
* @apiDescription 管理员审核通过之后，用户认证通过；审核不通过，用户需要重新提交申请
* @apiName audit
* @apiParam (参数) {String} id 申请记录id
* @apiParam (参数) {Number} ispass 是否通过，1：通过，0: 不通过
* @apiParam (参数) {String} commit 审批意见
* @apiSampleRequest /authwork/audit
* @apiGroup authwork-工作认证
* @apiVersion 1.0.0
* @apiParamExample {json} Request-Example:
*     {
*       "id": "1",
*       "ispass": true,
*       "commit": "通过"
*     }
* @apiSuccessExample {json} Success-Response:
*   HTTP/1.1 200 OK
*   {
*      "msg": "处理成功",
*      "code": 0
*   }
*/
async function audit(req, res) {
    let result = await authworkAudit(req.body);
    res.json(new ReturnModel(result));
}

module.exports = function (app) {
    let base_url = '/api/authwork';

    app.post(base_url+'/auth', auth);
    app.post(base_url+'/list', list);
    app.post(base_url+'/audit', audit);
}
